package com.sunwayhorizo.health.business.dto.security;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import com.sunwayhorizo.health.business.dto.patad.empi.PatientBaseInfoDTO;
import com.sunwayhorizo.health.business.dto.registries.DepartmentDTO;
import com.sunwayhorizo.health.business.dto.registries.OrganizationDTO;
import com.sunwayhorizo.health.platform.security.persistent.SecurityAccount;
import com.sunwayhorizo.health.platform.security.persistent.SecurityResource;
import com.sunwayhorizo.health.platform.security.persistent.SecurityRole;

public class SecurityAuthenticatorDTO implements Serializable{
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	//账号DTO 修改
	private SecurityAccount securityAccount = new SecurityAccount();

	//机构DTO 不变
	private OrganizationDTO organization=new OrganizationDTO();
	
	//机构对应的RIM模型中角色ID 删除   orgId
	//private String rimOrganizationRoleId;
	
	//科室DTO 不变
	private DepartmentDTO department=new DepartmentDTO();
	
	//科室对应的RIM模型中角色ID 删除 rimDepartmentRoleId
	//private String rimDepartmentRoleId;
	
	//角色 修改 
	private List<SecurityRole> securityRoles =new ArrayList<SecurityRole>();
	
	//模块列表 修改
	private List<SecurityResource> resources =new ArrayList<SecurityResource>();
	
	//工作组DTO 不变
	private List<DepartmentDTO> workgroups=new ArrayList<DepartmentDTO>();
	
	//人员DTO 改变
	private PatientBaseInfoDTO user = new PatientBaseInfoDTO();
	
	//人员对应的RIM模型中角色ID 删除 personId
	//private String rimEmployeeId;
	
	//private String menus;
		
	@Override
	public String toString() {
		return "AuthenticatorDTO [\n账号=" + securityAccount + ",\n 机构="
				+ organization + ",\n 机构对应的RIM模型中角色ID="
				+ organization.getOrgId() + ",\n 科室=" + department
				+ ",\n 科室对应的RIM模型中角色ID=" + department.getRimDepartmentRoleId()
				+ ",\n 角色DTO=" + securityRoles + ",\n 权限列表=" + resources
				+ ",\n 工作组DTO=" + workgroups + ",\n 人员=" + user
				+ ",\n 人员对应的RIM模型中角色ID=" + user.getPersonId()
				+ "]";
	}

    public SecurityAccount getSecurityAccount()
    {
        return securityAccount;
    }

    public void setSecurityAccount(SecurityAccount securityAccount)
    {
        this.securityAccount = securityAccount;
    }

    public OrganizationDTO getOrganization()
    {
        return organization;
    }

    public void setOrganization(OrganizationDTO organization)
    {
        this.organization = organization;
    }

    public DepartmentDTO getDepartment()
    {
        return department;
    }

    public void setDepartment(DepartmentDTO department)
    {
        this.department = department;
    }

    public List<SecurityRole> getSecurityRoles()
    {
        return securityRoles;
    }

    public void setSecurityRoles(List<SecurityRole> securityRoles)
    {
        this.securityRoles = securityRoles;
    }

    public List<SecurityResource> getResources()
    {
        return resources;
    }

    public void setResources(List<SecurityResource> resources)
    {
        this.resources = resources;
    }

    public List<DepartmentDTO> getWorkgroups()
    {
        return workgroups;
    }

    public void setWorkgroups(List<DepartmentDTO> workgroups)
    {
        this.workgroups = workgroups;
    }

    public PatientBaseInfoDTO getUser()
    {
        return user;
    }

    public void setUser(PatientBaseInfoDTO user)
    {
        this.user = user;
    }
}
